/**
 * -XX:ThreadStackSize=1m，通过这个参数设置JVM的栈内存为1MB。
 * java.lang.StackOverflowError
 * 也就是说，当这个线程调用了5675次方法之后，他的栈里压入了5675个栈桢，最终把1MB的栈内存给塞满了，引发了栈内存的溢出。大家看到StackOverflowError，就知道是线程栈内存溢出了。
 */
public class ThreadDemo {

    private static int counter = 0;

    public static void main(String[] args) {
        work();
    }

    private static void work() {
        System.out.println("第" + counter++ + "zhi zhu");
        work();
        ;
    }


    /**
     * -XX:ThreadStackSize=1m
     *
     * -XX:+PrintGCDetails
     *
     * -Xloggc:gc.log
     *
     * -XX:+HeapDumpOnOutOfMemoryError
     *
     * -XX:HeapDumpPath=./
     *
     * -XX:+UseParNewGC
     *
     * -XX:+UseConcMarkSweepGC
     */
}
